/*
 * 文件名:VehtypeServiceImpl.java
 * 创建时间:2010-10-01
 * 版本:2.0
 * 版权所有:杨涛 walle1027@gmail.com
 */
package com.yangtao.wms.master.vehtype.service.impl;

import com.yangtao.framework.service.BaseService;
import com.yangtao.framework.util.StringHelper;
import com.yangtao.wms.dao.VehTypeDao;
import com.yangtao.wms.domain.VehType;
import com.yangtao.wms.master.vehtype.service.VehtypeService;
import com.yangtao.wms.master.vehtype.web.VehtypeModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * @author 代码生成器 v-2.0
 * @version 2.0
 */
@Service()
public class VehtypeServiceImpl extends BaseService implements VehtypeService {

	@Autowired
	protected VehTypeDao vehTypeDao;

	/**
	 * 查询记录，并且分页
	 *
	 * @param model 页面参数
	 */
	@Override
	public VehtypeModel list(VehtypeModel model) {
		vehTypeDao.findPageByCondition(model.getPage(), model.getCondition());
		return model;
	}

	/**
	 * 取得唯一记录
	 *
	 * @param model 页面参数
	 */
	@Override
	public VehtypeModel loadVehType(VehtypeModel model) {
		if (StringHelper.isNotEmpty(model.getVehType().getId())) {
			model.setVehType(vehTypeDao.loadForReview(model.getVehType().getId()));
		}
		return model;
	}

	/**
	 * 新增记录
	 *
	 * @param model 页面参数
	 */
	@Override
	public VehtypeModel addVehType(VehtypeModel model) {
		//VO
		VehType vehTypeVO = model.getVehType();
		//PO
		VehType vehTypePO = new VehType();
		mapper.map(vehTypeVO, vehTypePO);
		//保存对象
		vehTypeDao.save(vehTypePO);
		//增加保存成功的消息
		model.addInfo("add.success");
		return model;
	}

	/**
	 * 更新记录
	 *
	 * @param model 页面参数
	 */
	@Override
	public VehtypeModel updateVehType(VehtypeModel model) {
		//VO
		VehType vehTypeVO = model.getVehType();
		//主键
		String vehTypeId = vehTypeVO.getId();
		//PO
		VehType vehTypePO = vehTypeDao.load(vehTypeId);
		//复制页面属性
		mapper.map(vehTypeVO, vehTypePO);
		//TODO 增加其他属性
		//TODO 更新关联对象
		//构造关联从对象
		//增加保存成功的消息
		model.addInfo("update.success");
		return model;
	}

	/**
	 * 删除记录
	 *
	 * @param model 页面参数
	 */
	@Override
	public VehtypeModel deleteVehType(VehtypeModel model) {
		vehTypeDao.delete(model.getVehType().getId());
		model.addInfo("delete.success");
		return model;
	}
}
